A conventional plastic card, such as a magnetic card with a magnetic strip, cannot store a great amount of data and lacks security. In line with progress in semiconductor technology, the sizes of integrated circuits (ICs) are becoming increasingly small. For this reason, an IC card has been developed by the integration of a plastic card and an IC, and is used to completely replace the conventional magnetic card. Since an IC card can store much more data, has better security, and cannot be easily damaged, the IC card may not only function as a bank card, but also as an identification card and/or a health insurance card, for example. Thus, IC cards or smart cards are widely used.
An IC card is a card that transmits and receives data according to an interface defined in the ISO Standard 7816. For example, electronic signals and transmission protocols of the IC card are defined in ISO Standard 7816-3. With asynchronous half-duplex character transmission protocol as defined in the ISO Standard 7816-3, hereinafter referred to as “T=0 transmission protocol”, if an interface device transmits a command to an IC card, the IC card must transmit a procedure byte to the interface device within a given time called “a work waiting time”. Procedure bytes transmitted by the card comprise ACK, NULL, and SW1 bytes. In particular, the NULL byte is transmitted from the IC card to the interface device in order to gain an additional working time when a time needed to process the received command exceeds the work waiting time. The interface device resets a timer for measuring a work waiting time when the NULL byte is transmitted from the IC card, so that the work waiting time is reset.
In the case of the aforementioned T=0 transmission protocol, the IC card has to transmit the NULL byte to the interface device before the time taken to process the input command exceeds the work waiting time. This means that a central processing unit of a conventional IC card must stop executing the current input command in order to process a procedure for transmitting the NULL byte. As is well known, the IC card processes a command according to an application program. For this reason, the procedure for transmitting the NULL byte causes program overhead. In addition, in cases where it is impossible to stop execution of a current input command, the interface card does not receive a response from the IC card within the work waiting time and treats a current communication state as a communication error. Accordingly, normal communication between the interface device and the IC card is not completed.